﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using Logica;
using Datos;
using Datos.Entidades;
using Logica.Comandos;
using Datos.Fabricas;
using Logica.FabricaLogica;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos.AdministracionUsuarios;


namespace Pruebas
{
     [TestFixture]
    public class PruebaCategoria
    {
         [TestCase]
         public void PruebaAgregarCategoria()
         {
             Entidad categoria = FabricaEntidades.ObtenerCategoria();
             (categoria as Categoria).NombreCategoria = "Domino";
             (categoria as Categoria).TipoCategoria = 1;

             Comando comando = FabricaComandoCategoria.CrearComandoCrearCategoria(categoria);
             comando.Ejecutar();
             bool respuesta = comando.Flag;
             Assert.AreEqual(respuesta, true);
         
         }
         
      

         
          [TestCase]
          public void PruebaConsultarCategoria()
          {
              bool respuesta = false; 
              List<Entidad> listaCategorias = new List<Entidad>();
              Comando comando = FabricaComandoCategoria.CrearComandoListarCategoria();
              comando.Ejecutar();
              listaCategorias = comando.ListaEntidad;

              if (listaCategorias != null)
              {

                  respuesta = true;

              }
              Assert.AreEqual(respuesta, true);
          
          }

         [TestCase]
          public void PruebaModificarCategoria()
          { 
          bool respuesta = false; 
           Entidad categoria = FabricaEntidades.ObtenerCategoria();
            (categoria as Categoria).Id_Categoria =2;
            (categoria as Categoria).NombreCategoria ="Beisbol";

            Comando comando = FabricaComandoCategoria.CrearComandoModificarCategoria(categoria);
            comando.Ejecutar();
            if (!comando.Flag)
                respuesta = false;
            else

                respuesta = true;

            Assert.AreEqual(respuesta, true);
          }
    }
}
